/* 给服务器发送1024个字节的数据，但是实际发送的数据不足1024，查看客户端的处理结果 */
/*
    1、如果数据只发送一次，服务器得不到完整的请求就不会进行业务chuli，客户端也就得不到响应，最终超时关闭连接
    2、连着给服务器发送多次小的请求，服务器会将后面的请求当作前面的正文进行处理，而后便处理的时候有可能就会因为处理错误而关闭连接
*/

#include "../server.hpp"

int main()
{
    Socket client;
    client.CreateClient(8080, "127.0.0.1");
    std::string req = "GET /hello HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 100\r\n\r\nbitejiuyeke";
    while (1)
    {
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        char buf[1024] = {0};
        
        assert(client.Recv(buf, 1023) != -1);
        DBG_LOG("[%s]", buf);
        sleep(3);
    }
    client.Close();
    return 0;
}